home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / Retrace.p < prev    next >
Text File  |  1996-05-01  |  2KB  |  113 lines

  1. {
  2.      File:        Retrace.p
  3.  
  4.      Contains:    Vertical Retrace Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Retrace;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __RETRACE__}
  28. {$SETC __RETRACE__ := 1}
  29.  
  30. {$I+}
  31. {$SETC RetraceIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __OSUTILS__}
  38. {$I OSUtils.p}
  39. {$ENDC}
  40.  
  41. {$PUSH}
  42. {$ALIGN MAC68K}
  43. {$LibExport+}
  44.  
  45. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  46.  
  47. TYPE
  48.     VBLTaskPtr = ^VBLTask;
  49.     VBLProcPtr = Register68kProcPtr;  { PROCEDURE VBL(vblTaskPtr: VBLTaskPtr); }
  50.  
  51.     VBLUPP = UniversalProcPtr;
  52.     VBLTask = RECORD
  53.         qLink:                    QElemPtr;
  54.         qType:                    INTEGER;
  55.         vblAddr:                VBLUPP;
  56.         vblCount:                INTEGER;
  57.         vblPhase:                INTEGER;
  58.     END;
  59.  
  60.  
  61. CONST
  62.     uppVBLProcInfo = $00009802;
  63.  
  64. FUNCTION NewVBLProc(userRoutine: VBLProcPtr): VBLUPP;
  65.     {$IFC NOT GENERATINGCFM }
  66.     INLINE $2E9F;
  67.     {$ENDC}
  68.  
  69. PROCEDURE CallVBLProc(vblTaskPtr: VBLTaskPtr; userRoutine: VBLUPP);
  70.     {$IFC NOT GENERATINGCFM}
  71.     {To be implemented:  Glue to move parameters into registers.}
  72.     {$ENDC}
  73. FUNCTION GetVBLQHdr: QHdrPtr;
  74.     {$IFC NOT GENERATINGCFM}
  75.     INLINE $2EBC, $0000, $0160;
  76.     {$ENDC}
  77. FUNCTION SlotVInstall(vblBlockPtr: QElemPtr; theSlot: INTEGER): OSErr;
  78.     {$IFC NOT GENERATINGCFM}
  79.     INLINE $301F, $205F, $A06F, $3E80;
  80.     {$ENDC}
  81. FUNCTION SlotVRemove(vblBlockPtr: QElemPtr; theSlot: INTEGER): OSErr;
  82.     {$IFC NOT GENERATINGCFM}
  83.     INLINE $301F, $205F, $A070, $3E80;
  84.     {$ENDC}
  85. FUNCTION AttachVBL(theSlot: INTEGER): OSErr;
  86.     {$IFC NOT GENERATINGCFM}
  87.     INLINE $301F, $A071, $3E80;
  88.     {$ENDC}
  89. FUNCTION DoVBLTask(theSlot: INTEGER): OSErr;
  90.     {$IFC NOT GENERATINGCFM}
  91.     INLINE $301F, $A072, $3E80;
  92.     {$ENDC}
  93. FUNCTION VInstall(vblTaskPtr: QElemPtr): OSErr;
  94.     {$IFC NOT GENERATINGCFM}
  95.     INLINE $205F, $A033, $3E80;
  96.     {$ENDC}
  97. FUNCTION VRemove(vblTaskPtr: QElemPtr): OSErr;
  98.     {$IFC NOT GENERATINGCFM}
  99.     INLINE $205F, $A034, $3E80;
  100.     {$ENDC}
  101. {  Custom Glue for 68k. }
  102. {$ENDC}
  103. {$ALIGN RESET}
  104. {$POP}
  105.  
  106. {$SETC UsingIncludes := RetraceIncludes}
  107.  
  108. {$ENDC} {__RETRACE__}
  109.  
  110. {$IFC NOT UsingIncludes}
  111.  END.
  112. {$ENDC}
  113.